Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

478
Views
Esta expresión no se puede llamar... el tipo no tiene firmas de llamada [ts 2349] error

Estoy tratando de usar funciones del ejemplo Observable Plot con el gráfico marimekko en mi proyecto con mecanografiado y obtuve este error en esta cadena:

 setXz(I.map((i) => sum.get(X[i])))

El código es:

 function marimekko({ x, y, z, inset = 0.5, ...options }) { const [Xz, setXz] = lazyChannel(z) const { y1, y2, transform: stackY, } = Plot.stackY({ offset: "expand", x, y: z }) const { x1, x2, transform: stackX, } = Plot.stackX({ offset: "expand", y, x: Xz }) return { x1, x2, y1, y2, transform: (data, facets) => { const I = d3.range(data.length) const X = Plot.valueof(data, x) const Z = Plot.valueof(data, z) const sum = d3.rollup( I, (I) => d3.sum(I, (i) => Z[i]), (i) => X[i] ) setXz(I.map((i) => sum.get(X[i]))) stackX(data, facets) stackY(data, facets) return { data, facets } }, inset, ...options, } } function lazyChannel(source) { let value return [ { transform: () => value, label: typeof source === "string" ? source : source ? source.label : undefined, }, (v) => (value = v), ] }

¿Alguna idea para solucionarlo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Su función devuelve setXz del siguiente tipo:

 ((v: any) => any) | { transform: () => any; label: any; }

Tenga en cuenta la unión, contiene un objeto que no se puede llamar.

Eso sucede porque TS no infiere la tupla sino que devuelve una matriz de las uniones de los tipos posibles.

Al menos debe escribir el retorno de su función.

 function lazyChannel(source): [{ transform: () => any, label: any}, ((v: any) => any)] { let value return [ { transform: () => value, label: typeof source === "string" ? source : source ? source.label : undefined, }, (v) => (value = v), ] }

Tenga en cuenta que aconsejaría no usar any , pero especificar los tipos de parámetros y devolver.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!